using System;
using System.Collections.Generic;

namespace CMS.Core.Domain
{
    /// <summary>
    /// NhomNguoiSuDung object for NHibernate mapped table NhomNguoiSuDung.
    /// </summary>
    [Serializable]
    public class NhomNguoiSuDung : DomainObject<System.Int32>
    {

        private System.String _TenNhom;
        private System.String _MoTa;
        private System.String _ChucNang;
        private System.Boolean _TrangThai;
        private System.Byte _TabMacDinh = 1;
        private IList<ChucNang> _ChucNangs = new List<ChucNang>();
        private IList<NguoiSuDung> _NguoiSuDungs = new List<NguoiSuDung>();        

        public NhomNguoiSuDung()
        {
        }

        public NhomNguoiSuDung(System.Int32 id)
        {
            base.ID = id;
        }

        public virtual System.String TenNhom
        {
            get { return _TenNhom; }
            set { _TenNhom = value; }
        }

        public virtual System.String MoTa
        {
            get { return _MoTa; }
            set { _MoTa = value; }
        }

        public virtual System.String ChucNang
        {
            get { return _ChucNang; }
            set { _ChucNang = value; }
        }

        public virtual System.Boolean TrangThai
        {
            get { return _TrangThai; }
            set { _TrangThai = value; }
        }

        public virtual IList<NguoiSuDung> NguoiSuDungs
        {
            get { return _NguoiSuDungs; }
            set { _NguoiSuDungs = value; }
        } 

        public virtual IList<ChucNang> ChucNangs
        {
            get { return _ChucNangs; }
            set { _ChucNangs = value; }
        }

        public override int GetHashCode()
        {
            return ID.GetHashCode();
        }

        public virtual System.Byte TabMacDinh
        {
            get { return _TabMacDinh; }
            set { _TabMacDinh = value; }
        }
    }
}
